from django import template
register = template.Library()
from django.utils.html import format_html


# 自定义分页标签
@register.simple_tag

def ShowPages(c,request):
    p = int(request.GET.get('p',1))

    b = p-3
    e = p+4

    if p<4:
        b = 1
        e = 8   
    if p>(c-3):
        b = c-6
        e = c+1
    if c<8:
        b = 1
        e = c+1

    # 获取页面上的其他参数
    data = request.GET.dict()
    data.pop('p',None)
    res = ''
    for k,v in data.items():
        res += '&'+k+'='+v

    ps = ''    
     # 首页
    ps += '<li><a href="?p=1">首页</a></li>'
    # 上一页
    if p>1:
        ps += '<li><a href="?p='+str(p-1)+res+'">«</a></li>'

    for x in range(b,e):
        # 判断是否为当前页
        if p ==x:
            ps += '<li class="am-active"><a href="?p='+str(x)+res+'">'+str(x)+'</a></li>'
        else:
            ps += '<li><a href="?p='+str(x)+res+'">'+str(x)+'</a></li>'
   
    # 下一页
    if p<c:
        ps += '<li><a href="?p='+str(p+1)+res+'">»</a></li>'        
    # 末页
    ps += '<li><a href="?p='+str(c)+res+'">末页</a></li>'

    # 跳转
   
    # ps +='<li><div class="form"><input class="input J_Input" type="number" value="" min="1" max="19""><span class="text">页</span><button class="am-btn-primary">跳转</button></div></div></li>'

    return format_html(ps)


# 自定义标签，解决缩进
@register.simple_tag
def sj(res):
    num = res.count(',')-1
    res = num*'└ㅡㅡ'
    return res


# 自定义两位小数
@register.simple_tag
def cartxj(n1,n2):
    res = n1*n2
    # 第二位小数是0时,不显示
    # return round(res,2)
    # return "{:.2f}".format(res)
    return "%.2f"%(res)